/*
 * 文件名：DataDictionaryService.java	 
 * 时     间：上午10:35:34
 * 作     者：tianJun       
 * 版     权： 2012-2022 湖南智软网络科技, 公司保留所有权利.
 * 联     系：http://www.073586.com/
 */
package com.local.service.face;

import java.util.List;
import java.util.Map;

import com.local.model.DataDictionary;
import com.local.model.DataDictionaryExample;
import com.qianhai.common.service.face.BaseService;

/**
 * 类描述:这里是类描述
 * 
 * @ClassName: DataDictionaryService
 * @author tianJun
 * @date 2016年8月18日 上午10:35:34
 */
public interface DataDictionaryService
{
	/**
	 * 
	 * 方法描述：根据编码查询
	 * 
	 * @Title: getValueByKey
	 * @param @param code
	 * @param @return
	 * @return DataDictionary
	 * @user tianjun 2016年8月29日
	 * @throws
	 */
	public List<DataDictionary> getValueByKey(String code);
	
	/**
	 * 
	 * 方法描述：修改或者保存数据字典
	 * 
	 * @Title: saveOrUpdateDataDictionary
	 * @param @param dataDictionary
	 * @return void
	 * @user tianJun 2016年8月30日
	 * @throws
	 */
	public void saveOrUpdateDataDictionary(DataDictionary dataDictionary);
	
	/**
	 * 
	 * 方法描述：根据uuid更新字典
	 * 
	 * @Title: updateByUuid
	 * @param @param dataDictionary
	 * @return void
	 * @user tianJun 2016年8月30日
	 * @throws
	 */
	public void updateByUuid(DataDictionary dataDictionary);
	
	/**
	 * 
	 * 方法描述：根据uuid删除字典
	 * 
	 * @Title: deleteByUuid
	 * @param @param uuid
	 * @return void
	 * @user tianJun 2016年8月30日
	 * @throws
	 */
	public void deleteByUuid(String uuid);
	
	/**
	 * 方法描述：根据uuid查询
	 * 
	 * @Title: selectByUuid
	 * @param @param uuid
	 * @param @return
	 * @return DataDictionary
	 * @user tianJun 2016年8月30日
	 * @throws
	 */
	public DataDictionary selectByUuid(String uuid);
	
	/**
	 * 方法描述：插入一条数据到数据字典表
	 * 
	 * @Title: insert
	 * @param @param dataDictionary
	 * @return void
	 * @user tianJun 2016年8月30日
	 * @throws
	 */
	public void insert(DataDictionary dataDictionary);
	
	/**
	 * 方法描述：查询所有的数据
	 * 
	 * @Title: selectAll
	 * @param @param dataDic_page
	 * @param @return
	 * @return List<DataDictionary>
	 * @user tianJun 2016年8月30日
	 * @throws
	 */
	public List<DataDictionary> selectAll(DataDictionary dataDic_page);
	
	/**
	 * 方法描述：查询树的根节点以外的其他节点
	 * 
	 * @Title: getTree
	 * @param @param list
	 * @param @return
	 * @return List<String>
	 * @user tianJun 2016年8月30日
	 * @throws
	 */
	public List<String> getTree(List<String> list);
	
	/**
	 * 方法描述：查询树的根节点
	 * 
	 * @Title: getTreeRoot
	 * @param @param attr1
	 * @param @return
	 * @return List<String>
	 * @user tianJun 2016年8月30日
	 * @throws
	 */
	public List<String> getTreeRoot(String attr1);
	
	/**
	 * 方法描述：查询出所有的树节点
	 * 
	 * @Title: getAllTree
	 * @param @return
	 * @return List<Map<Object,Object>>
	 * @user tianJun 2016年8月30日
	 * @throws
	 */
	public List<Map<Object, Object>> getAllTree();
	
	/**
	 * 方法描述：查询数据字典表的总记录数
	 * 
	 * @Title: getCount
	 * @param @return
	 * @return Integer
	 * @user tianJun 2016年8月30日
	 * @throws
	 */
	public Integer getCount();
	
	/**
	 * 方法描述：根据父ID查询子节点
	 * 
	 * @Title: getPid
	 * @param @param attr1
	 * @return void
	 * @user tianJun 2016年8月30日
	 * @throws
	 */
	public void getPid(String attr1);
}
